package demo01;

/*
 * 1. 接口的默认方法可以通过接口实现类对象直接调用。
 * 2. 接口的默认方法也可以被接口实现类进行覆盖重写。
 */
public class Demo02Interface {
    public static void main(String[] args) {
        // 创建实现类对象
        MyInterfaceDefaultImplA a = new MyInterfaceDefaultImplA();
        a.methodAbs(); // 调用抽象方法，实际运行的是右侧的实现类
        a.methodDefault(); // 调用默认方法，如果实现类中没有，会向上在接口中寻找
        System.out.println("=====================================");

        MyInterfaceDefaultImplB b = new MyInterfaceDefaultImplB();
        b.methodAbs();
        b.methodDefault(); // 默认方法可以由实现类覆盖重写
    }
}
